Django একটি শক্তিশালী ও জনপ্রিয় Python ওয়েব ফ্রেমওয়ার্ক, যা ডাটাবেস মডেলিং এবং ম্যানেজমেন্টের জন্য অনেক সুবিধা প্রদান করে। Django ডিফল্টভাবে SQLite ব্যবহার করে, যা একটি লাইটওয়েট, সার্ভারবিহীন ডাটাবেস সিস্টেম। SQLite সঠিকভাবে Django অ্যাপ্লিকেশনের জন্য প্রথম সার্ভারবিহীন ডাটাবেস হিসেবে ব্যবহৃত হয় কারণ এটি সহজ, দ্রুত এবং সেটআপ করা সহজ।
নিচে SQLite এর সাথে Django ইন্টিগ্রেশন কীভাবে করা হয় এবং বিভিন্ন ধাপগুলো বিস্তারিতভাবে আলোচনা করা হলো।
১. Django প্রজেক্ট তৈরি করা
প্রথমেই, Django প্রজেক্ট তৈরি করতে হবে। যদি আপনার সিস্টেমে Django ইনস্টল না থাকে, তাহলে নিচের কমান্ড দিয়ে ইনস্টল করতে পারেন:
pip install django
এর পর একটি নতুন Django প্রজেক্ট তৈরি করুন:
django-admin startproject myproject
cd myproject
এটি myproject নামে একটি নতুন Django প্রজেক্ট তৈরি করবে।
২. SQLite ডাটাবেস কনফিগারেশন
Django ডিফল্টভাবে SQLite ডাটাবেস ব্যবহার করে। settings.py ফাইলে ডাটাবেস কনফিগারেশন সঠিকভাবে সংজ্ঞায়িত করা থাকে। ডিফল্ট কনফিগারেশন এইরকম থাকে:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
এখানে:
ENGINE: SQLite ডাটাবেসের জন্যdjango.db.backends.sqlite3নির্ধারিত থাকে।NAME: ডাটাবেস ফাইলের অবস্থান এবং নাম। সাধারণতBASE_DIR(প্রজেক্ট ডিরেক্টরি) এর মধ্যেdb.sqlite3নামে একটি ফাইল তৈরি হয়।
SQLite ডাটাবেসের সাথে কাজ করার জন্য অতিরিক্ত কোনো কনফিগারেশন প্রয়োজন হয় না, Django নিজেই ডাটাবেস তৈরি এবং পরিচালনা করে।
৩. ডাটাবেস মডেল তৈরি করা
Django-তে ডাটাবেস টেবিল তৈরি করতে Models ব্যবহার করা হয়। আপনি আপনার models.py ফাইলে ডাটাবেস মডেল তৈরি করতে পারেন।
উদাহরণ:
from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
email = models.EmailField()
age = models.IntegerField()
def __str__(self):
return self.name
এখানে, User নামে একটি মডেল তৈরি করা হয়েছে যা name, email, এবং age নামে তিনটি ফিল্ড ধারণ করে। Django নিজেই এই মডেলকে ডাটাবেস টেবিলে রূপান্তরিত করবে।
৪. মাইগ্রেশন তৈরি করা
যখন আপনি একটি নতুন মডেল তৈরি করেন, তখন আপনাকে মাইগ্রেশন তৈরি করতে হয় যাতে আপনার ডাটাবেস টেবিল তৈরি করা যায়।
মাইগ্রেশন তৈরি করতে নিচের কমান্ডটি চালান:
python manage.py makemigrations
এরপর, মাইগ্রেশন বাস্তবায়ন করতে:
python manage.py migrate
এই কমান্ডগুলি আপনার মডেল অনুযায়ী ডাটাবেসে টেবিল তৈরি করবে এবং সেগুলিকে db.sqlite3 ফাইলে সংরক্ষণ করবে।
৫. ডাটাবেস ব্যবহার করা
ডাটাবেসে ডেটা ইনসার্ট, আপডেট, ডিলিট এবং সিলেক্ট করতে Django ORM ব্যবহার করা হয়। Django ORM আপনাকে Python কোডের মাধ্যমে ডাটাবেসে অপারেশন করতে সক্ষম করে।
ডেটা ইনসার্ট করা:
# Django shell এ প্রবেশ করুন
python manage.py shell
# মডেল ব্যবহার করে ডেটা ইনসার্ট করুন
from myapp.models import User
user = User(name='Alice', email='alice@example.com', age=25)
user.save()
ডেটা নির্বাচন করা:
# সব ইউজার নির্বাচন করুন
users = User.objects.all()
# নির্দিষ্ট বয়সের ইউজার নির্বাচন করুন
users = User.objects.filter(age=25)
ডেটা আপডেট করা:
# ইউজারের বয়স আপডেট করুন
user = User.objects.get(id=1)
user.age = 26
user.save()
ডেটা মুছা:
# ইউজার মুছুন
user = User.objects.get(id=1)
user.delete()
৬. SQLite ডাটাবেসের সাথে Django অ্যাপ চালানো
ডাটাবেস কনফিগারেশন এবং মডেল তৈরি হওয়ার পর, Django সার্ভার চালিয়ে অ্যাপ ব্যবহার করা যাবে।
python manage.py runserver
এটি ডিফল্ট 8000 পোর্টে Django অ্যাপ চালু করবে। আপনার ব্রাউজারে গিয়ে অ্যাপের ফিচারগুলো দেখতে পারবেন।
৭. ডাটাবেস ব্যাকআপ এবং রিস্টোর করা
SQLite ডাটাবেসটি একটি সিঙ্গেল ফাইলে সংরক্ষিত থাকে, তাই এর ব্যাকআপ এবং রিস্টোর অত্যন্ত সহজ। আপনি শুধুমাত্র db.sqlite3 ফাইলটি কপি করে ব্যাকআপ নিতে পারবেন এবং পরবর্তীতে সেটি রিস্টোর করতে পারবেন।
ব্যাকআপ:
cp db.sqlite3 db_backup.sqlite3
রিস্টোর:
cp db_backup.sqlite3 db.sqlite3
সারাংশ
SQLite ডাটাবেস Django প্রজেক্টে ডিফল্টভাবে ব্যবহার হয় এবং সেটআপ করা অত্যন্ত সহজ। Django-তে SQLite-কে ইন্টিগ্রেট করতে আপনি settings.py ফাইলে ডাটাবেস কনফিগারেশন ঠিক করে মডেল তৈরি করতে পারেন, এবং Django ORM ব্যবহার করে ডাটাবেসে অপারেশন করতে পারবেন। SQLite-এ ডাটাবেস ব্যাকআপ এবং রিস্টোরও সহজ, কারণ এটি একটি সিঙ্গেল ফাইল হিসেবে ডাটাবেস সংরক্ষণ করে।
Read more